1. Field of the Invention
The present invention relates to a recording and reproducing apparatus, a signal decoding circuit, an error correction method and an iterative decoder for reproducing a signal from a magnetic disk, an optical disk, a magneto-optical disk or the like and for decoding a signal in a communication equipment. The present invention particularly relates to a recording and reproducing apparatus, a signal decoding circuit, an error correction method and an iterative decoder having an error correction function based on an iterative decoding method.
2. Description of the Related Art
A recording and reproducing apparatus has had hitherto a strong error correction function to reproduce a recorded signal without any error. It is impossible to ensure decoding a recorded signal from instable signals including noise until the apparatus employs this error correction function. Recently, the error correction of a recording and reproducing apparatus is mainly realized by a combination of two systems referred to as “PRML (Partial Response Maximum Likelihood” and “ECC (Error Correcting Code). The PRML (Partial Response Maximum Likelihood) is a system for regarding a recording channel as a partial response channel (PR channel) having an interference between codes and performing an maximum likelihood detection normally employing a Viterbi detector. The ECC (Error Correcting Code) is a system for correcting an error which cannot be corrected by the Viterbi detector. Normally, a Reed-Solomon code is employed as the ECC. General description relating to the Viterbi detector and Reed-Solomon code is given in many documents exemplified by “S. Lin and D. J. Costello, Jr., Error control coding: fundamentals and applications, Prentice-Hall, 1983”.
FIG. 1 is a block diagram of a magnetic disk drive which is a typical example of a recording and reproducing apparatus. The drive is comprised of a hard disk controller (HDC) 200, a read channel (RDC) 202 and ahead IC 204. First, parity is added to recording data by a CRC encoder 206 and an ECC encoder 208 in the HDC 200. CRC (Cyclic Redundancy Check) codes are employed to detect the erroneous correction of the ECC. Next, the RDC 202 transmits the recording data to a driver 216 in the head IC 204 by way of an encoder 210, a write precompensator 212 and a driver 214. The encoder 210 employs RLL codes or the like for stabilizing the timing recovery system. Also, the write precompensator 212 performs a compensation processing for slightly widening a distance of magnetic transitions. Finally, the driver 216 of the head IC 204 generates a write current to be applied to the write head. On the other hand, an analog signal from a read head is amplified by a preamplifier 218 in the head IC 204 and then transmitted to an RDC 202. In the PRC 202, the analog signal is converted into a digital signal by way of a thermal asperity detector 220, a variable gain amplifier (VGA) 222, a low-pass filter (LPF) 224 and an analog-to-digital converter (ADC) 226. Then, an FIR filter 228 equalizes the waveform of the digital signal and a decoder 230 conducts Viterbi decoding to the resultant digital signal. It is noted that the RDC 202 has a PLL 232 controlling timing for sampling a signal and an automatic gain controller (AGC) 234 controlling the gain of the variable gain amplifier 222. A decoding result obtained by the RDC 202 is returned to the HDC 200. In the HDC 200, an ECC decoder 236 corrects the errors of the resultant signal, a CRC decoder 238 performs a check processing for the signal and the signal turns into reproducing data.
A magnetic disk apparatus of these days employs an MR (Magneto-resistive) head as a read head. Since the MR head flies from the surface of a disk medium only by 30 to 50 nm, the head is often contacted with or collided against protrusions or the like of the disk surface.
When contact or collision occurs, a resistance value increases as the temperature of the head rises. Due to this, as shown in FIG. 2A, the direct-current level of a reproducing signal E1 greatly changes. This phenomenon is referred to as a thermal asperity phenomenon or TA phenomenon. When the TA phenomenon occurs, a signal having a high amplitude is inputted into the apparatus and an AGC circuit and a PLL circuit which have stably operated so far are adversely influenced by the signal. To prevent this, the TA phenomenon is normally detected based on a fixed threshold value ±Th and, as shown in FIG. 2B, a detection signal E2 which is turned on only when the signal E1 exceeds the threshold value is generated as an erasure flag. While the erasure flag is turned on, the operations of the PLL circuit 232 and the AGC 234 are fixed. As a result, as shown in FIG. 2C, the read signal turns into a signal E3 having a range between the threshold value ±Th. Also, to minimize the influence of the TA phenomenon, there were proposed methods for providing TA detection circuit 220 with the characteristic of a high-pass filter (HPF) (as disclosed in the drawings of the specifications of U.S. Pat. Nos. 5,233,482 and 6,226,136). In these cases, as shown in FIGS. 3A to 3C, it is possible to return the output of the head to an original level faster. Since an original read signal cannot be observed while the TA phenomenon occurs, i.e., the erasure flag is turned on, this period can be regarded as a state in which input data disappears. The Viterbi decoder cannot restore the data which has disappeared for a long time. For that reason, the correction of such data disappearance has conventionally relied on the ECC. The ECC can correct lost data of a certain length. Besides, as shown in FIG. 1, by referring to the erasure flag, it is possible to improve an error correction capability of the ECC. However, as the speed of rotation of a disk spindle motor increases, a TA length increases. Even if the HPF is employed in the TA detector 220, the TA length becomes as large as several tens of bytes. According to the increased TA length, the parity length of the ECC inevitably increases, thereby disadvantageously decreasing the recording capacity of the apparatus. In this connection, methods for inputting an erasure flag into an ECC and correcting erased data are disclosed in the drawings of the specifications of U.S. Pat. Nos. 5,701,314, 5,875,199 and the like. In addition, various modifications for the erasure correction by the ECC are disclosed in, for example, the drawings of the specifications of U.S. Pat. Nos. 5,714,262, 4,852,099 and the like. Erasure phenomena such as the TA phenomenon are not limited to a magnetic disk. Similar phenomenon occurs even to a magneto-optical disk, for example, due to a medium defect, a flaw, a dust or the like. To prevent this, therefore, the magneto-optical disk detects data erasure based on a threshold processing and performs a processing for fixing the operations of an AGC and a PLL as in the case of the magnetic disk. Likewise, an ECC performs an erasure correction.
In addition to the TA phenomenon, there is a media defect which causes a read signal to disappear. FIG. 4 shows an example of a reproducing signal if a defect of a signal attenuation factor of 50% occurs. An interval indicated by an arrow is a defect interval 260. As can be seen from FIG. 4, the signal attenuates. It is difficult to detect such a defect by a simple threshold processing. Normally, long defects are extracted by a prior check and then a defective part is replaced by a normal sector. Nevertheless, short defects are not replaced. In addition, there are cases where a new defect occurs with the passage of time. It is, therefore, required to employ a decoding method robust to such defects.
Recently, as new encoding and decoding systems replacing the PRML system, there have been proposed a Turbo code, a low density parity check code or LDPC and the like. Since these systems perform decoding by iterative calculation, they will be generally referred to as “iterative decoding method”. A Turbo code disclosed in the drawings of the specification of U.S. Pat. No. 5,446,747 is typical of the iterative decoding method. The Turbo code is a parallel concatenation code in which two recursive systematic convolutional codes or RSC codes are connected to each other through a random interleaver. The Turbo code performs decoding by iterative calculation employing two Soft-In/Soft-Out decoders. While the Turbo code was devised in the field of communications, a plurality of systems for applying the Turbo code to a PR channel in a recording and reproducing systems are disclosed in a document, “T. Souvignier et al., “Turbo Decoding for PR4: Parallel Versus Serial Concatenation,” Proc. IEEE Int. Conf. on Communications, pp. 1638–1642, 1999”.
If the Turbo code is applied to the PR channel, a configuration in which two constituent encoders 240 and 244 are serially concatenated through a random interleaver 242 denoted by π as shown in FIG. 5A is used. Here, the constituent encoder 244 closer to the channel is referred to as an inner encoder and the other constituent encoder 240 is referred to as an outer encoder. Actually, in case of the PR channel, the channel can be regarded as a convolutional encoder, so that there is no need to provide the inner encoder 244. However, to provide a recursive systematic convolutional code, an auxiliary encoder referred to as a precoder is sometimes employed. As the outer encoder 240, on the other hand, various types of encoders employing two recursive systematic convolutional codes (RSC's) and employing one recursive systematic convolutional code (RSC) have been proposed. Further, there are cases where low density parity check codes (LDPC's) disclosed by a document, “R. G. Galleger, Low-Density Parity-Check Codes, Cambridge, Mass.: MIT Press, 1963” and a Turbo product codes (TPC's) disclosed by a document, “R. M. Pyndiah,”Near-optimum decoding of product codes: block turbo codes, “IEEE Trans. on Communications, 46–8, pp. 1003–1010, 1998” are employed. An iterative decoder is constituted out of two constituent decoders referred to as an inner decoder 246 and an outer decoder 250 as shown in FIG. 5B. The inner decoder 246 performs decoding corresponding to encoding of the inner encoder 244 shown in FIG. 5A and the outer decoder 250 performs decoding corresponding to the encoding of the outer encoder 240 shown in FIG. 5A. The inner decoder is sometimes referred to as a channel decoder. The iterative decoding method is characterized by performing MAP or Maximum a posteriori Probability decoding. Due to this, both of the two constituent decoders are SISO or Soft-In/Soft-Out decoders. The SISO decoder does not simply output a hard decision such as 0 or 1 but outputs reliability information such as 0.4 or 0.9.
The inner decoder 246, for example, calculates the a posteriori probability of an information symbol xk given a read signal sequence yk (k=1 to N). The a posteriori probability is expressed by the log-likelihood ratio of the probability as follows:
                              Λ          ⁡                      (                          x              k                        )                          =                  In          ⁢                                                    P                ⁡                                  (                                                            x                      k                                        =                                          1                      ❘                                              y                        1                        N                                                                              )                                                            P                ⁡                                  (                                                            x                      k                                        =                                          0                      ❘                                              y                        1                        N                                                                              )                                                      .                                              (        1        )            In the equation (1), y1N={y1, y2, . . . yN}. On the other hand, the a priori information Λa(xk) obtained prior to decoding is inputted, in the form of the log-likelihood ratio, into the inner decoder 246. The inner decoder 246 calculates the a posteriori probability expressed by the formula (1) from this a priori information Λa(xk) and the read signal yk. Also, the inner decoder 246 outputs extrinsic information by subtracting the a priori information from the a posteriori probability as expressed by equation (2) as follows:Λe(xk)=Λ(xk)−Λa(xk)  (2).This extrinsic information Λe(xk) is transferred to the other encoder. Decoding procedures will be described again with reference to FIG. 5B. The read signal yk is inputted first into the inner decoder 246. The inner decoder 246 calculates and outputs extrinsic information Λe(xk) from the read signal series yk and the a prior information Λa(xk) outputted from the outer decoder 250. The extrinsic information Λe(xk) is turned into the a priori information Λa(x′k) on the outer decoder 250 by way of a deinterleaver 248 denoted by π−1. The outer decoder 250 outputs the a posteriori probability Λ(uk) and extrinsic information Λe(x′k) of the information sequence. The extrinsic information Λe(x′k) is employed again as a priori information Λa(xk) of the inner decoder 246 by way of the interleaver 252 denoted by π. After iterating the processings a predetermined number of times, the a posteriori probability Λ(uk) outputted from the outer decoder 250 is subjected to a threshold processing by a comparator 254, thereby finishing decoding. As a concrete calculation method for Soft-In/Soft-Out (SISO) decoding with respect to codes such as convolutional codes defined by state transition, there is known a BCJR algorithm. Normally, both the inner decoder and the outer decoder employ the BCJR algorithm. If LDPC codes are employed as the outer encoder, the outer decoder is based on a belief propagation algorithm. The BCJR algorithm is described in detail in a document, “L. R. Bahl et al., “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Trans. Inform. Theory, vol. 20, pp. 248–87, 1974”. Also, the general description of the iterative decoding method is given in a document, “Z. Wu, Coding and iterative detection for magnetic recording channels, Kluwer Academic Publishers, 2000”. The iterative decoding method stated above has a higher error correction capability than that of the PRML decoding method and is expected to become a promising coding method in the next generation.
While exhibiting a far higher error correction capability than that of the conventional PRML decoding method, the above-stated iterative decoding method is disadvantageously low in ECC effect. This is because almost all errors are corrected by iterative decoding, there is hardly left errors which the ECC could correct. Actually, with the iterative decoding method, SN improvement by adding the ECC is as low as not more than 0.5 dB. Due to this, while the iterative decoding method has higher SN improvement than that of the conventional PRML decoding method before the addition of the ECC, there is little difference between the iterative decoding method and the PRML decoding method in SN improvement after the addition of the ECC. If the effect of ECC is low, the error correction capability of the iterative decoding method is not deteriorated by eliminating the ECC. Rather, by eliminating the ECC, a loss generated as a result of adding the ECC is removed and a required S/N ratio is advantageously improved accordingly. However, if the ECC is eliminated, the iterative decoding method cannot correct long erasure derived from the TA phenomenon or the like. As a result, even if only low S/N improvement is normally expected, it is necessary to combine the iterative decoding method with the ECC so as to correct the erasure derived from the TA phenomenon or the like.